#[derive(Debug, Copy, Clone)]
struct Foo(u32);

fn main() {
    // 所有权原则: Rust中的值只有一个所有者。移动和复制语义
    let foo = Foo(2048);
    let bar = foo; // value moved here
    println!("Foo is {foo:?}"); // 报错, 加入Copy和Clone后不报错
    println!("Bar is {bar:?}, inner: {}", bar.0);
}